צ'אט בphp ו jquery
דף 1: יש בו טופס עם דיב(שם יוצגו ההודעות).
דף 2: מכיל קוד PHP שמכניס את ההודעה למסד.
בלחיצת כפתור(אנטר)בטופס שבדף הראשון > אני קורא לדף השני ע"י הפונקצייה post.$, ומעביר לשם את הערך מהאינפוט(את ההודעה) וזה נכנס למסד בלי רענון.
עד כאן הכל טוב.
עכשיו אני שואל אותכם - איך להתקדם הלאה?
כלומר, הקוד ששולף את ההודעות מהמסד הוא יהיה בדף נפרד (דף מספר 3) ?
איך לשלוף את ההודעות שזה יצא - הודעה חדשה נכתבת מתחת להודעה הקודמת(כמו כל צ'אט)
תודה
8 תשובות
אני רואה שאתה מדבר על דפים ..כדאי לעבור ללמוד מחלקות כדי לבצע את העיניינים השונים
בכל מקרה תוסיף עמודה של חתימת זמן ותאריך ותמיין
אני מציע לך, אחרי שהוא לוחץ ENTER, שזה גם יכניס את ההודעה למסד, וגם ירענן את הדף, וכמובן שבצאט זה מציג את כל ההודעות במסד, וכך זה מציג אחרי רענון גם את ההודעה של המשתמש.
אתה יכול לעשות שבכל שלוש שניות או כמה שתבחר זה ירענן את הדף, וכך זה יציג הודעות חדשות.
בהצלחה!
לשלוף את ההודעות - אני מצליח מצויין (בעזרת ORDER BY `id` DESC).
אבל הבעייה היא להציג אותם למסך בסדר של: הכי חדש - הכי למטה בטור ההודעות.
לדוגמא:
-----------------------------------------
הודעה(1): מה נשמע?
הודעה(2): סבבה!
הודעה(3): :)
----------------------------------------
עכשיו שאני עושה WHILE לשליפת ההודעות ומדפיס אותם, אז הוא מדפיס למסך הפוך:
-----------------------------------------
הודעה(3): :)
הודעה(2): סבבה!
הודעה(1): מה נשמע?
---------------------------------------
בגלל שהPHP בסיבוב הראשון של הלולאה שולף את ההודעה הכי חדשה [ הודעה: :) ] ואז הוא מדפיס אותה.
ובסיבוב השני של הלולאה הוא שולף הודעה אחת לפני האחרונה [ הודעה: סבבה! ] ואז הוא מדפיס אותה - מתחת להודעה הראשונה...
כי זה כמו שרושמים רשימת קניות-את המוצר השני רושמים מתחת לראשון.
מקווה שהבעייה מובנת.
ואז אני יצטרך לבצע 2 לולאות:
הראשונה שולפת את כל ההודעות מהמסד - לתוך מערך.
והלולאה השנייה מדפיסה אותם בעזרת הפונקצייה SORT.
===זה נשמע לי מיותר 2 לולאות.. אין מצב רק עם לולאה אחת?
תוכל להפוך את זה דרך השאילתא פשוט תמחק את DESC כלומר תעשה כך
ORDER BY `id`